As electrical circuits and systems become more complicated, sophisticated and miniaturized, techniques for viable automated testing of the circuits and systems become more important. Boundary-Scan represents an approach to testing that appears to be compatible with increasingly complicated, sophisticated and miniaturized circuits and systems. Currently, numerous integrated circuits, particularly complicated devices and application specific integrated circuits (ASICs), include Boundary-Scan features, and various Boundary-Scan support devices (e.g., Boundary-Scan masters) are commercially available.
An outline for Boundary-Scan architectures and methodologies is set forth in the IEEE 1149.1-1990 standard. This standard is concerned with high-level testing approaches, and-applies to all circuits and systems, regardless of their specific function. The standard discusses various public and private features, along with various mandatory and optional features. The standard permits a great deal of implementation flexibility within its framework.
The main focus of Boundary-Scan testing appears to be aimed at manufacturing environments. A system includes components or boards, hereinafter referred to as a unit or units under test (UUT). The system may benefit from testing the UUT to verify proper operation. Typically, the system need not perform the functions for which it has been designed during manufacturing testing. Consequently, the length of time required to perform any one test is of minor importance compared to performing a valid test.
A system need not test itself during manufacturing testing. The manufacturing tests may rely on an external test controller (e.g., a personal computer) running a program specifically configured to test the UUT. Boundary-Scan testing may disable system controller components (e.g., microprocessors etc.) without affecting testing viability. In a manufacturing environment, power to the UUT may be recycled or a reset signal asserted to restart a controller device after testing completion.
On-line testing imposes more severe constraints than manufacturing testing. Unfortunately, conventional Boundary-Scan techniques fail to adequately meet these constraints. On-line testing typically occurs "in the field" while a system continues to perform the functions for which it has been designed. Typically, on-line testing takes place in a background mode of operation, where system functions take place in a foreground mode of operation and the foreground and background modes are interleaved in time. Any one test should not consume an excessive amount of time because an adverse impact on system functions may result. Typically, no external controller is available for controlling the tests. System controllers, which themselves may be subjected to testing, may be given the job of controlling the tests. Consequently, testing should permit microprocessors to continue with their normal sequencing, with a minimum of resetting and power recycling.